<?php
namespace app\admin\controller;
use think\Controller;
class Goods extends Controller
{

    public function lst()
    {
        $goodsRes=db('goods')
        ->alias('a')
        ->field('a.*,b.name')
        ->join('goods_category b','a.cat_id=b.id')
        ->order('a.goods_id desc')
        ->paginate(15);
        $count=db('goods')->count();
        $this->assign([
            'goodsRes'=>$goodsRes,
            'count'=>$count,
        ]);
        return view();
    }
    public function del()
    {
        $id=input('id');
        //删除数据库记录
        $del=db('goods')->delete($id);
        if($del){
            return ['msg'=>'删除商品成功','icon'=>1];
        }else{
            return ['msg'=>'删除商品失败','icon'=>2];
        }
    }
    
    public function pi_uploads()
    {
        if(request()->isPost()){
            $name = input('name');
            $type = substr(strrchr($name, '.'), 1);
            if($type == 'xlsx' || $type == 'xls'){
                //导入产品
                $file = request()->file('imageFile');
                // 移动到框架应用根目录
                
                $info = $file->move(GOODSIMG,$name);
                
                $dir= GOODSIMG.$name;
                require_once(EXTEND_PATH.'/PHPExcel/Classes/PHPExcel.php');
                require_once(EXTEND_PATH.'/PHPExcel/Classes/PHPExcel/Writer/Excel2007.php');
    	        $objReader = new \PHPExcel_Reader_Excel2007();
                if(!$objReader->canRead($dir)){
                  $objReader = new \PHPExcel_Reader_Excel5();
                  if(!$objReader->canRead($dir)){
                    echo '无法识别的Excel文件！';
                    return false;
                  };
                };
                
                $objPHPExcel = $objReader->load($dir);        //建立excel对象
                
                
                $sheetCount = $objPHPExcel->getSheetCount();//获取sheet工作表总个数
                
                $add_hang=0;
                /*读取表格数据*/
                for($h =0;$h <= $sheetCount-1;$h++){//循环sheet工作表的总个数
                    $currentSheet = $objPHPExcel->getSheet($h);        //**读取excel文件中的指定工作表*/
                    $allColumn = $currentSheet->getHighestColumn();        //**取得最大的列号*/
                    $allRow = $currentSheet->getHighestRow();        //**取得一共有多少行*/
                    $data = array();
                    for($rowIndex=1;$rowIndex<=$allRow;$rowIndex++){        //循环读取每个单元格的内容。注意行从1开始，列从A开始
                        $i=0;
                        for($colIndex='A';$colIndex<='V';$colIndex++){
                             $addr = $colIndex.$rowIndex;
                             $cell = $currentSheet->getCell($addr)->getValue();
                             $data[$rowIndex][$i] = $cell;
                            $i++;
                        }
                    }
                    array_shift($data);  //删除第一个数组(标题);
                    foreach ($data as $k=>$v){
                        $cat_id = db('goods_category')->where('name',$v[0])->value('id');
                        if($cat_id){
                            $add_data['cat_id'] = $cat_id;
                            $add_data['goods_no']=$v[1];
                            $add_data['goods_name']=$v[2];
                            $add_data['goods_en_name']=$v[3];
                            $add_data['goods_alias_name']=$v[4];
                            $add_data['purpose']=$v[5];
                            $add_data['brand']=$v[6];
                            $add_data['specs']=$v[7];
                            $add_data['source']=$v[8];
                            $add_data['methods']=$v[9];
                            $add_data['cycle']=$v[10];
                            $add_data['price']=$v[11];
                            $add_data['purity']=$v[12];
                            $add_data['specificity']=$v[13];
                            $add_data['organization']=$v[14];
                            $add_data['shape']=$v[15];
                            $add_data['culture']=$v[16];
                            $add_data['species']=$v[17];
                            $add_data['scope']=$v[18];
                            $add_data['subtypes']=$v[19];
                            $add_data['Immunogen']=$v[20];
                            $add_data['goods_content']=$v[21];
                            $add_data['add_time']=time();
                            
                            $goods = db('goods')->where('goods_no',$add_data['goods_no'])->find();
                            if($goods){
                                continue;
                            }
                            $add_status = db('goods')->insert($add_data);
                            if($add_status){
                                $add_hang ++;
                            }
                        }else{
                            continue;
                        }
                    }
                    
                }
                return ['status'=>1,'data'=>$add_hang];
            }
            if($type == 'png' || $type == 'jpeg' || $type == 'jpg' || $type == 'pdf'){
                //上传文件
                $file = request()->file('imageFile');
                // 移动到框架应用根目录
                $info = $file->move(GOODSIMG,$name);
                $data = array();  //定义一个返回的数组
                if($info){
                    $reubfo['status']= 1;
                    $reubfo['data'] = 1;
                    
                }else{
                    // 上传失败获取错误信息
                    $reubfo['status']= "false";
                    $reubfo['data'] = $file->getError();
                }
                return $reubfo;
            }
        }
        return view();
    }

    // //搜索商品
    // public function search()
    // {
    //     $keywords=input('keywords');
    //     if(input('supplier') == 'not1'){       //非自营
    //         $goodsRes=db('goods')
    //         ->alias('a')
    //         ->field('a.*,b.name,c.supplier_name')
    //         ->join('goods_category b','a.cat_id=b.id')
    //         ->join('supplier c','a.supplier_id=c.supplier_id')
    //         ->where('goods_name|keywords|goods_id|goods_sn','like',"%".$keywords."%")
    //         ->where('a.supplier_id','not in','1')
    //         ->where(['b.type'=>'0'])
    //         ->order('id desc')
    //         ->paginate(10);
    //         $count=db('goods')->count();
    //         $this->assign([
    //             'goodsRes'=>$goodsRes,
    //             'count'=>$count,
    //         ]);
    //         return view('lst');
    //     }

    //     $goodsRes=db('goods')
    //     ->alias('a')
    //     ->field('a.*,b.name')
    //     ->join('goods_category b','a.cat_id=b.id')
    //     ->where('goods_name|keywords|goods_id|goods_sn','like',"%".$keywords."%")
    //     ->where('a.supplier_id','1')
    //     ->where(['b.type'=>'0'])
    //     ->order('id desc')
    //     ->paginate(10);
    //     $count=db('goods')->count();
    //     $this->assign([
    //         'goodsRes'=>$goodsRes,
    //         'count'=>$count,
    //     ]);
    //     return view('lst');
    // }

    // public function add()
    // {
    //     if(request()->isPost()){
    //         $data=input('post.');
    //         $data['add_time']=time();
    //         $data['goods_sn']=time();
    //         //添加商品发货地
    //         if($data['cangku_id'] !== '0'){
    //             $cangku=db('cangku')->where('id',$data['cangku_id'])->find();
    //             $data['supply_province']=$cangku['province'];
    //             $data['supply_city']=$cangku['city'];
    //             $data['supply_district']=$cangku['district'];
    //         }
    //         if($data['cangku_id'] == '0'){
    //             if($data['supply_province'] == '0'){
    //                 $data['supply_province']='7';
    //                 $data['supply_city']='412';
    //                 $data['supply_district']='415';
    //             }
    //         }
    //         if(isset($data['goods_attr'])){
    //             $goods_attr=$data['goods_attr'];
    //         }
    //         if(isset($data['goods_photo'])){
    //             $goods_photo=$data['goods_photo'];
    //         }
    //         unset($data['file']);
    //         unset($data['goods_attr']);
    //         unset($data['goods_photo']);
    //         $goodsId=db('goods')->insertGetId($data);
    //         //新增商品后 处理商品属性
    //         if(isset($goods_attr)){
    //             $i=0;
    //             foreach ($goods_attr as $k => $v){
    //                 if(is_array($v)){
    //                     if(!empty($v)){
    //                         foreach ($v as $k1 => $v1) {
    //                             if(!$v1){
    //                                 $i++;
    //                                 continue;
    //                             }
    //                             db('goods_attr')->insert(['attr_id'=>$k,'attr_value'=>$v1,'goods_id'=>$goodsId]);
    //                             $i++;
    //                         }
    //                     }
    //                 }else{
    //                     //唯一属性
    //                     db('goods_attr')->insert(['attr_id'=>$k,'attr_value'=>$v,'goods_id'=>$goodsId]);
    //                 }
    //             }
    //         }
    //         //添加商品相册图片
    //         if(isset($goods_photo)){
    //             foreach ($goods_photo as $k => $v) {
    //                 db('goods_images')->insert(['goods_id'=>$goodsId,'image_url'=>$v]);
    //             }
    //         }
            
    //         //判断是否成功,返回信息
    //         if($goodsId){
    //             return ['msg'=>'新增商品成功','icon'=>1];
    //         }else{
    //             return ['msg'=>'新增商品失败','icon'=>2];
    //         }
    //         return;
    //     }
    //     //获取商品分类信息
    //     $_cateRes=db('goods_category')->where(['type'=>'0'])->order('sort')->select();
    //     $CateTree=new Catetree();
    //     $cateRes=$CateTree->catetree($_cateRes);
    //     //获取供货商信息
    //     // $supplierRes=db('supplier')->select();
    //     //商品类型信息
    //     $goodsTypeRes=db('goods_type')->select();
    //     //商品单位信息
    //     // $goodsUnitRes=db('goods_unit')->select();
    //     //仓库信息
    //     $cangkuRes=db('cangku')->select();
    //     $this->assign([
    //         'cateRes'=>$cateRes,
    //         'goodsTypeRes'=>$goodsTypeRes,
    //         'cangkuRes'=>$cangkuRes
    //     ]);
    //     return view();
    // }
    // //获取商品类型对应属性
    // public function getGoodsAttr(){
    //     if(request()->isAjax()){
    //         $type_id=input('type_id');
    //         $attrRes=db('goods_attribute')->where(['type_id'=>$type_id])->order('attr_type')->select();
    //         echo json_encode($attrRes);
    //     }
    // }

    // public function edit()
    // {
    //     if(request()->isPost()){
    //         $data=input('post.');
    //         $data['add_time']=time();
    //         $goodsId=$data['goods_id'];
    //         //添加商品发货地
    //         //添加商品发货地
    //         if($data['cangku_id'] !== '0'){
    //             $cangku=db('cangku')->where('id',$data['cangku_id'])->find();
    //             $data['supply_province']=$cangku['province'];
    //             $data['supply_city']=$cangku['city'];
    //             $data['supply_district']=$cangku['district'];
    //         }
    //         if($data['cangku_id'] == '0'){
    //             if($data['supply_province'] == '0'){
    //                 $data['supply_province']='7';
    //                 $data['supply_city']='412';
    //                 $data['supply_district']='415';
    //             }
    //         }
    //         if(isset($data['goods_attr'])){
    //             $goods_attr=$data['goods_attr'];
    //         }
    //         if(isset($data['goods_photo'])){
    //             $goods_photo=$data['goods_photo'];
    //         }
    //         unset($data['file']);
    //         unset($data['goods_attr']);
    //         unset($data['goods_photo']);
    //         //如果提交过来的类型id发生改变,直接删除商品所有属性重新添加
    //         $is_goods_type=db('goods')->where(['goods_id'=>$goodsId,'goods_type_id'=>$data['goods_type_id']])->select();
    //         if(!$is_goods_type){
    //             db('goods_attr')->where('goods_id',$goodsId)->delete();
    //         }
    //         //添加新的商品属性
    //         if(isset($goods_attr)){
    //             $i=0;
    //             foreach ($goods_attr as $k => $v) {
    //                 if(is_array($v)){
    //                     if(!empty($v)){
    //                         foreach ($v as $k1 => $v1){
    //                             if(!$v1){
    //                                 $i++;
    //                                 continue;
    //                             }
    //                             $sql_goods_attr=db('goods_attr')->where(['attr_id'=>$k,'attr_value'=>$v1,'goods_id'=>$goodsId])->select();
    //                             if(!$sql_goods_attr){
    //                                 db('goods_attr')->insert(['attr_id'=>$k,'attr_value'=>$v1,'goods_id'=>$goodsId]);
    //                                 $i++;
    //                             }
    //                         }
    //                     }
    //                 }else{
    //                     $sql_goods_attr=db('goods_attr')->where(['attr_id'=>$k,'goods_id'=>$goodsId])->select();
    //                     if($sql_goods_attr){
    //                         db('goods_attr')->where(['attr_id'=>$k,'goods_id'=>$goodsId])->update(['attr_value'=>$v]);
    //                     }else{
    //                         db('goods_attr')->insert(['attr_id'=>$k,'goods_id'=>$goodsId,'attr_value'=>$v]);
    //                     }
                        
    //                 }
    //             }
    //         }else{
    //             //未选择任何属性的话,删除商品原有属性
    //             db('goods_attr')->where('goods_id',$goodsId)->delete();
    //         }
    //         //商品相册图片处理
    //         if(isset($goods_photo)){
    //             foreach ($goods_photo as $k => $v) {
    //                 //先判断是否变更
    //                 $goods_image=db('goods_images')->where('image_url',$v)->find();
    //                 if(!$goods_image){
    //                     db('goods_images')->insert(['goods_id'=>$goodsId,'image_url'=>$v]);
    //                 }
    //             }
    //         }
    //         $save=db('goods')->update($data);
    //         if($save !== false){
    //             return ['msg'=>'编辑商品成功','icon'=>1];
    //         }else{
    //             return ['msg'=>'编辑商品失败','icon'=>2];
    //         }
    //         return;
    //     }
    //     $id=input('id');
    //     $goods=db('goods')->find($id);
    //     //获取栏目信息
    //     //获取商品分类信息
    //     $_cateRes=db('goods_category')->where(['type'=>'0'])->order('sort')->select();
    //     $CateTree=new Catetree();
    //     $cateRes=$CateTree->catetree($_cateRes);
    //     //获取供货商信息
    //     // $supplierRes=db('supplier')->select();

    //     //商品类型信息
    //     $goodsTypeRes=db('goods_type')->select();
    //     //商品所属类型的所有属性
    //     $attrRes=db('goods_attribute')->where(['type_id'=>$goods['goods_type_id']])->order('attr_type')->select();
    //     //当前商品所拥有的属性
    //     $_goodsAttrRes=db('goods_attr')->order('id')->where('goods_id',$id)->select();
    //     //重新组合为3维数组
    //     $goodsAttrRes=[];
    //     foreach ($_goodsAttrRes as $k => $v) {
    //         $goodsAttrRes[$v['attr_id']][]=$v;
    //     }
    //     //商品相册数据
    //     $imagesRes=db('goods_images')->where('goods_id',$id)->select();
    //     //商品单位信息
    //     // $goodsUnitRes=db('goods_unit')->select();
    //     //仓库信息
    //     $cangkuRes=db('cangku')->select();
    //     //供货地
    //     //当前市
    //     $_city_name=db('region')->where('region_id',$goods['supply_city'])->find();
    //     $city_name=$_city_name['name'];
    //     //当前区
    //     $_district_name=db('region')->where('region_id',$goods['supply_district'])->find();
    //     $district_name=$_district_name['name'];
    //     $this->assign([
    //         'goods'=>$goods,
    //         'cateRes'=>$cateRes,
    //         'goodsTypeRes'=>$goodsTypeRes,
    //         'attrRes'=>$attrRes,
    //         'goodsAttrRes'=>$goodsAttrRes,
    //         'imagesRes'=>$imagesRes,
    //         'cangkuRes'=>$cangkuRes,
    //         'city_name'=>$city_name,
    //         'district_name'=>$district_name
    //     ]);
    //     return view();
    // }

    // //异步删除 修改页面 点击[-]的一条商品属性
    // public function delAttr($id)
    // {
    //     //通过当前属性的id查询到该条属性信息
    //     $goods_attrs=db('goods_attr')->find($id);
    //     //获取到当前属性所属商品的id
    //     $goods_id=$goods_attrs['goods_id'];
    //     //通过商品的id获取该商品库存表的 goods_attr 字段
    //     $goodsAttrRes=db('goods_spec')->field('sku')->where('goods_id',$goods_id)->select();
    //     foreach ($goodsAttrRes as $k => $v) {
    //         if(strpos($v['sku'],$id) !==false){
    //             $_specId=db('goods_spec')->field('id')->where('sku',$v['sku'])->find();
    //             $specId=$_specId['id'];
    //             db('goods_spec')->where(['id'=>$specId])->delete();
    //         }
    //     }
    //     //删除该条商品属性
    //     $del=db('goods_attr')->delete($id);
    //     if($del){
    //         echo 1;
    //     }else{
    //         echo 2;
    //     }
    // }
    

    //layui图片上传
    // public function upload(){
    //     $file = request()->file('file');
    //     // 移动到框架应用根目录/public/uploads/ 目录下
    //     $info = $file->move(GOODSIMG);
    //     $data = array();  //定义一个返回的数组
    //     if($info){
    //         $reubfo['code']= 1;
    //         $reubfo['savename'] = str_replace("\\","/",$info->getSaveName());
    //     }else{
    //         // 上传失败获取错误信息
    //         $reubfo['code']= 0;
    //         $reubfo['err'] = $file->getError();
    //     } 
    //     return json_encode($reubfo);
    // }
    // //图片撤销功能 仅仅删除本地图片
    // public function cancel(){
    //     $imgurl=input('imgurl');
    //     $res=@unlink(GOODSIMG.$imgurl);
    // }
    // //商品相册图片撤销功能,删除本地和数据库中数据
    // public function delimage(){
    //     if(request()->isAjax()){
    //         $img_id=input('img_id');
    //         $img_url=db('goods_images')->find($img_id);
    //         @unlink(GOODSIMG.$img_url['image_url']);
    //         db('goods_images')->delete($img_id);
    //     }
    // }
    //ajax更新上下架状态
    // public function changeStatus()
    // {
    //     if(request()->isAjax()){
    //         $id=input('id');
    //         $status=input('status');
    //         if($status == 1){
    //             db('goods')->where(['goods_id'=>$id])->update(['on_sale'=>0]);
    //             return ['msg'=>'已下架','icon'=>2];
    //         }else{
    //             db('goods')->where(['goods_id'=>$id])->update(['on_sale'=>1]);
    //             return ['msg'=>'已上架','icon'=>1];
    //         }
    //     }else{
    //         $this->error("非法操作！");
    //     }
    // }
    

    // public function sort()
    // {
    //     if(request()->isAjax()){
    //         $goods_id=input('goods_id');
    //         $sort=input('sort');
    //         $save=db('goods')->where(['goods_id'=>$goods_id])->update(['sort'=>$sort]);
    //         if($save !== false){
    //             return ['msg'=>'已排序','icon'=>1];
    //         }
    //     }

    // }



}
